웹소켓

웹소켓 (WebSocket)

서버와 클라이언트가 하나의 연결을 유지하며 실시간으로 양방향 통신하는 프로토콜

HTTP vs WebSocket

항목 HTTP WebSocket
통신 방향 단방향 (클라이언트 요청 → 서버 응답) 양방향 (서버도 자유롭게 전송 가능)
연결 유지 요청마다 연결 수립·종료 지속 연결 유지
오버헤드 요청마다 헤더 전송 연결 후 헤더 없이 데이터만 전송
프로토콜 HTTP/HTTPS WS/WSS

연결 과정 (핸드셰이크)

1. 클라이언트 → HTTP Upgrade 요청
   GET /chat HTTP/1.1
   Upgrade: websocket
   Connection: Upgrade

2. 서버 → 101 Switching Protocols 응답

3. 이후 WebSocket 프레임으로 양방향 통신

활용 사례

HTTP Polling과 비교

방식 설명 단점
Short Polling 클라이언트가 주기적으로 요청 불필요한 요청 多, 지연 있음
Long Polling 서버가 데이터 생길 때까지 응답 보류 연결 지속 비용
WebSocket 단일 연결로 양방향 실시간 통신 초기 구현 복잡

면접 포인트

관련 개념